package br.ufc.es.pds.mudproject.comandos;

import java.util.ArrayList;

import br.ufc.es.pds.mudproject.annotations.ComandoAnnotation;
import br.ufc.es.pds.mudproject.core.Comando;
import br.ufc.es.pds.mudproject.core.Jogador;
import br.ufc.es.pds.mudproject.core.Npc;
import br.ufc.es.pds.mudproject.core.Objeto;

@ComandoAnnotation(comando = "dar")
public class ComandoDar extends Comando {

	public ComandoDar(Jogador jogador, ArrayList<String> array) {
		super(jogador, array);
	}

	@Override
	public void Executar() {
		if (parametros == null || parametros.size() < 1) {
			System.out.println("Você quer Entregar o que pra quem?");
		} else {

			String mensagem = "";

			for (int i = 1; i < parametros.size(); i++) {
				if (i < parametros.size() - 1) {
					mensagem += parametros.get(i) + " ";
				} else {
					mensagem += parametros.get(i);
				}
			}

			Objeto objeto = jogador.pegarObjeto(parametros.get(1).trim());
			if (objeto != null) {
				Npc npc = jogador.pegarAmbiente().pegarNpc(parametros.get(0));
				if (npc != null) {
					System.out.println(npc.receberObjeto(jogador, objeto));
				} else {
					System.out.println("Npc não encontrado.");
				}
			} else {
				System.out.println("Você não tem esse item.");
			}
		}
	}
}